package com.itlong.cloud.user.operate;

import com.itlong.cloud.POJO.DTO.operate.OperateUserRecordPageDTO;
import com.itlong.cloud.POJO.VO.operate.OperateDeviceOpenTypeVO;
import com.itlong.cloud.POJO.VO.operate.OperateUserRecordVO;
import com.itlong.cloud.utils.page.Page;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * <desc>
 *      运营—APP用户-业主通行记录业务处理暴露接口。
 * <desc/>
 *
 * @createDate 2017/9/26.
 */
@FeignClient(name = "user-service")
public interface IOperateUserRecordServiceClient {

    /**
     * <desc>
     *     根据查询条件获取业主通行记录列表。
     * <desc/>
     *
     * @param  pageDTO 请求参数
     * @return
     * @author shengen.T
     * @createDate 2017/9/21
     */
    @RequestMapping(path = "/appUser/record/getUserRecordPage",method = RequestMethod.POST)
    Page<OperateUserRecordVO> getUserRecordPage(@RequestBody OperateUserRecordPageDTO pageDTO) throws Exception;

     /**
      * <desc>
      *     获取通行方式列表。
      * <desc/>
      *
      * @param recType
      * @return 返回通行方式列表 （通行方式ID 和 通行方式名称）
      * @author shengen.T
      * @createDate 2017/10/31
      */
    @RequestMapping(path = "/appUser/record/getOpenTypeList")
    List<OperateDeviceOpenTypeVO> getOpenTypeList(@RequestParam("recType") Integer recType) throws Exception;
}
